The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Many computing systems include one or more graphics processors which execute graphics instructions to render graphics and video for users. During development of applications which include graphics, a developer may wish to have information about execution of the instructions on the one or more graphics processors, such as execution time, memory accesses, resource waits, etc. However, because these instructions are executed on a graphics processor environment, which may be separate from other computer processors in which analysis may be performed, it may be difficult for developers to obtain such information. For example, if a developer uses another computing processor (such as a processor running an operating system) to poll for graphics execution information, the other processor may not have the timing knowledge of when particular instructions are being executed by the one or more graphics processors. In such scenarios, the developer may not be able to accurately target the particular graphics instructions which they need to fine tune their application. This can prevent accurate profiling of graphics execution and stymie efforts to improve graphics performance.